package com.zjsru.oneDay202212;

/**
 * @Author: CookLee
 * @Date: 2022/12/12
 *  所有子字符串美丽值之和
 *  一个字符串的 美丽值 定义为：出现频率最高字符与出现频率最低字符的出现次数之差。
 *
 *  输入：s = "aabcb"
 * 输出：5
 * 解释：美丽值不为零的字符串包括 ["aab","aabc","aabcb","abcb","bcb"] ，每一个字符串的美丽值都为 1 。
 *
 * 输入：s = "aabcbaa"
 * 输出：17
 */
public class BeautySum {
    
    /**
     * 暴力遍历
     */
    public int beautySum(String s) {
        int len = s.length(), ans = 0;
        for (int i = 0; i < len; i++) {
            int[] ints = new int[26];
            for (int j = i; j < len; ++j) {
                //统计出现次数
                ++ints[s.charAt(j) - 'a'];
                int max = 0, min = 1000;
                for (int num : ints) {
                    if (num > 0) {
                        max = Math.max(max, num);
                        min = Math.min(min, num);
                    }
                }
                ans += max - min;
            }
        }
        return ans;
    }
    
    public static void main(String[] args) {
        BeautySum beautySum = new BeautySum();
        String s = "aabcbaa";
        System.out.println(beautySum.beautySum(s));
    }
}
